草庐IT

C++ try-except 语句

全部标签

c# - 当前上下文中不存在名称 '$exception'

今天我在工作中调试一个应用程序。我继续在我的一个catchblock中设置一个断点,以便更详细地检查异常。ViewDetail模态窗口正常打开,但它没有向我显示异常的详细信息,而是抛出一个奇怪的错误,我从未遇到过这个错误,我也不知道它是什么意思:错误说:Thename'$exception'doesnotexistinthecurrentcontext这很令人沮丧,因为我在catchblock范围内,所以我应该能够看到我的异常。重新启动我的应用程序后,我成功地对其进行了调试。这是我唯一一次(到目前为止)遇到此错误。有谁知道这是什么意思,我该如何修复它(无需重新启动应用程序)?注意:我使

c# - 为什么我可以在 C# 中编写一个什么都不做的通用 catch 语句?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whycan’tIcatchagenericexceptioninC#?我一直在审稿和写作CircuitBreaker最近的代码。以下方法可以编译,但永远不会进入catchblock。我有很多变通办法,这不是获得正确行为(过滤异常)的唯一方法,但我很好奇为什么编译但不起作用!publicvoidAttemptCall(Actionaction)whereTException:Exception{try{action();}catch(TExceptione)//Thisblockisneverentered!

c# - 当 LINQ 语句没有 where 子句时,为什么没有智能感知?

谁能告诉我为什么我不使用这段代码获得智能感知:vartestDocuments=(fromuindb.TestDocumentsorderbyu.WhenCreateddescendingselectu).但我确实通过这段代码获得智能感知:vartestDocuments=(fromuindb.TestDocumentsorderbyu.WhenCreateddescendingwhere1==1selectu). 最佳答案 我遇到了类似的情况,然后我添加了以下行..usingSystem.Linq;

c# - Visual Studio : edit-and-continue on handled exceptions?

这是重现我期望得到的行为的代码:staticvoidMain(string[]args){//try//#2{stringx=null;//#1AssertNotNull(x,nameof(x));}//catch(ArgumentNullException){}//#2Console.WriteLine("Passed.");Console.ReadKey();}[DebuggerHidden]publicstaticvoidAssertNotNull(Targ,stringargName)whereT:class{if(arg==null)thrownewArgumentNullE

c# - 将 using 语句与 WinForms 一起使用……好的做法?

我理解使用using语句背后的概念和原因,我将它用于文件资源和远程连接之类的东西,我想知道这是否是一种好的做法在WinForm窗体和对话框中使用using语句?using(MyDialogdlg=newMyDialog()){if(dlg.ShowDialog()==EDialogResult.OK){//DoSomething}}谢谢! 最佳答案 仅限对话框。但这是一个非常好的做法。您会发现它在Show()周围不起作用,因为using(){}只能在1个方法中使用,您永远不想在Show()之后立即再次关闭.

c# - 使用 & try/catch 嵌套

这个问题更多的是什么是做某事的正确方法...问题...usingblock和try/catch之间是否有正确的嵌套顺序?是否可以将整个using语句嵌套在try/catch中并保持usingblock的优势?(或者异常会导致using语句的结束部分被抛出窗口)或者您是否应该将try/catch嵌套在using语句中,并且只围绕执行数据库访问的语句?是...try{using(tsmtcowebEntitiesdb=newtsmtcowebEntities()){violationList=(fromaindb.DriverTrafficViolationDetailswherea.Dr

c# - "using"语句与花括号

我想知道为什么我们在C#中使用using语句。查了一下,发现是用来执行语句,然后清理对象的。所以我的问题是:如果我们打开和关闭大括号({})来定义范围,这不是一回事吗?使用语句:using(SqlConnectionconn=newSqlConnection(connString)){SqlCommandcmd=conn.CreateCommand();cmd.CommandText="SELECT*FROMCustomers";conn.Open();using(SqlDataReaderdr=cmd.ExecuteReader()){while(dr.Read())//DoSome

c# - If/Else语句, "DoNothing"或 "Continue"怎么说

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。我有一个IF/ELSE语句,尽管我想知道如何告诉“else”部分在它为真时什么也不做。例如:if(x==x)//runcalc.exeelse//DoNothing或者我写的是说如果我只是删除else语句,如果if条件不匹配,它仍然会继续?

c# - 条件为假时执行的 If 语句 True block

我优化了一个扩展方法来比较两个流的相等性(字节对字节)——知道这是一个热门方法,我尝试尽可能地优化它(流可以达到数兆字节的长度)。我基本上想出了以下方法:[StructLayout(LayoutKind.Explicit)]structConverter{[FieldOffset(0)]publicByte[]Byte;[FieldOffset(0)]publicUInt64[]UInt64;}//////Comparestwostreamsforbyte-by-byteequality.//////Thetargetstream.///Thestreamtocomparethetar

c# - Log4net - 禁止将 "exception"附加到自定义 "PatternLayout"

当使用自定义“PatternLayout”时,log4net会将“异常”信息(如果存在)附加到每个日志条目。我正在尝试控制消息和堆栈跟踪信息的输出,并希望“抑制”此信息。我四处搜寻,但找不到办法。有什么想法吗?示例web.config条目(对于RollingFileAppender):谢谢 最佳答案 像这样配置布局:...将IgnoresException设置为false告诉appender布局将处理异常。因此您可以选择不打印堆栈跟踪。 关于c#-Log4net-禁止将"exceptio